/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package stud.cp.user.valueobjects;

import java.math.BigInteger;

/**
 * Класс, описывающий
 * запись пользователя.
 * @author Morfant
 */
public class User {

    /**
     * ID пользователя.
     */
    private BigInteger userID;
    /**
     * ID типа пользователя.
     */
    private BigInteger userTypeID;
    /**
     * Имя пользователя.
     */
    private String name;
    /**
     * Пароль пользовател.
     */
    private String password;
    /**
     * Название типа пользователя.
     */
    private String userTypeName;

    /**
     * Полный конструктор.
     * @param userID ID пользователя.
     * @param userTypeID ID типа пользователя.
     * @param name Имя пользователя.
     * @param password Пароль пользователя.
     * @param userTypeName Имя типа пользователя.
     */
    public User(BigInteger userID, BigInteger userTypeID, String name, String password, String userTypeName) {
        this.userID = userID;
        this.userTypeID = userTypeID;
        this.name = name;
        this.password = password;
        this.userTypeName = userTypeName;
    }

    /**
     * Конструктор для создания записи.
     * @param userTypeID ID типа пользователя.
     * @param name Имя пользователя.
     * @param password Пароль пользователя.
     */
    public User(BigInteger userTypeID, String name, String password) {
        this.userTypeID = userTypeID;
        this.name = name;
        this.password = password;
    }

    /**
     * Получить имя пользователя.
     * @return Имя пользователя.
     */
    public String getName() {
        return name;
    }

    /**
     * Установаить имя пользователя.
     * @param name Новое имя пользователя.
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * Получить пароль пользователя.
     * @return Пароль.
     */
    public String getPassword() {
        return password;
    }

    /**
     * Установить новый пароль.
     * @param password Новый пароль.
     */
    public void setPassword(String password) {
        this.password = password;
    }

    /**
     * Получить ID пользователя.
     * @return ID пользователя.
     */
    public BigInteger getUserID() {
        return userID;
    }

    /**
     * Установить ID пользователя.
     * @param userID Новый ID пользователя.
     */
    public void setUserID(BigInteger userID) {
        this.userID = userID;
    }

    /**
     * Получить ID типа пользователя.
     * @return ID типа пользотателя.
     */
    public BigInteger getUserTypeID() {
        return userTypeID;
    }

    /**
     * Установить ID типа пользователя.
     * @param userTypeID Новый ID типа пользователя.
     */
    public void setUserTypeID(BigInteger userTypeID) {
        this.userTypeID = userTypeID;
    }

    /**
     * Получить имя типа пользователя.
     * @return Имя типа пользователя.
     */
    public String getUserTypeName() {
        return userTypeName;
    }

    /**
     * Установить имя типа пользователя.
     * @param userTypeName Новое имя типа пользователя.
     */
    public void setUserTypeName(String userTypeName) {
        this.userTypeName = userTypeName;
    }
}
